package com.grace.dao;

import com.grace.model.SysDept;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface SysDeptMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(SysDept record);

    int insertSelective(SysDept record);

    SysDept selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(SysDept record);

    int updateByPrimaryKey(SysDept record);

    //统计个数 传入上级部门id和部门名称
    //countByNameAndParentId与XML的名称相同
    int countByNameAndParentId(@Param("parentId") Integer parentId, @Param("name") String name, @Param("id") Integer id);

    //获取所有部门列表 修改于2019-12-17上午
    List<SysDept> getAllDept();

    //通过层级获取所属部门列表
    //写上@Param("")这时候XML语句就能识别这个参数了
    List<SysDept> getChildDeptListByLevel(@Param("level") String level);

    //批量更新子部门的层级
    void batchUpdateLevel(@Param("sysDeptList") List<SysDept> sysDeptList);

    /**
     * 看看哪个部门的parentId是我当前的部门，即判断该部门是否存在子部门
     */
    int countByParentId(int deptId);
}